﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using MySql.Data;
using MySql.Data.MySqlClient;
using CestodoBebe.Util;

namespace CestoDoBebe.DAO
{
    public class ImagensProduto
    {
        private int m_CodImagem;
        private int m_CodUsuario;
        private int m_CodProduto;
        private string m_Url;
        private string m_TamanhoImagem;

        AcessoDados dados;

        public int CodImagem
        {
            get { return m_CodImagem; }
            set { m_CodImagem = value; }
        }

        public int CodUsuario
        {
            get { return m_CodUsuario; }
            set { m_CodUsuario = value; }
        }

        public int CodProduto
        {
            get { return m_CodProduto; }
            set { m_CodProduto = value; }
        }

        public string Url
        {
            get { return m_Url; }
            set { m_Url = value; }
        }

        public string TamanhoImagem
        {
            get { return m_TamanhoImagem; }
            set { m_TamanhoImagem = value; }
        }


        public List<ImagensProduto> ListaImagensProduto(int codUsuario, int codProduto)
        {
            List<ImagensProduto> result = new List<ImagensProduto>();

            ImagensProduto objImagens;

            using (dados = new AcessoDados())
            {

                List<MySqlParameter> parametros = new List<MySqlParameter>();

                parametros.Add(new MySqlParameter("P_CODUSUARIO", codUsuario));
                parametros.Add(new MySqlParameter("P_CODPRODUTO", codProduto));

                MySqlDataReader leitor = dados.ObterLeitor("USP_LISTA_IMAGENS_PRODUTO_USUARIO", parametros);

                while (leitor.Read())
                {
                    objImagens = new ImagensProduto();
                    objImagens.CodImagem = Convert.ToInt32(leitor["CODIMAGEM"]);
                    objImagens.CodUsuario = Convert.ToInt32(leitor["CODUSUARIO"]);
                    objImagens.CodProduto = Convert.ToInt32(leitor["CODPRODUTO"]);
                    objImagens.Url = Convert.ToString(leitor["URL"]);
                    objImagens.TamanhoImagem = Convert.ToString(leitor["TAMANHOIMAGEM"]);

                    result.Add(objImagens);
                }
            }

            return result;
        }

        public bool InsereImagens(ImagensProduto objImagens)
        {
            using (dados = new AcessoDados())
            {

                try
                {
                    List<MySqlParameter> parametros = new List<MySqlParameter>();

                    parametros.Add(new MySqlParameter("P_CODUSUARIO", objImagens.CodUsuario));
                    parametros.Add(new MySqlParameter("P_CODPRODUTO", objImagens.CodProduto));
                    parametros.Add(new MySqlParameter("P_URL", objImagens.Url));


                    dados.ExecutarComando("USP_INSERE_IMAGEMPRODUTO", parametros);

                    return true;
                }
                catch (Exception ex)
                {
                    return false;
                }




                
            }
        }
    }
}
